1175B - Catch Overflow - CodeForces Solution


data structures expression parsing implementation *1600

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int long long
#define inf 0x3f3f3f3f
#define fi first
#define se second
#define eps 1e-6
const int N=2e5+5;
const int maxx=1ll<<32;
void solve()
{
	int n;
	cin>>n; 
	getchar(); 
	vector<int>st={1};
	int sum=1;
	int x=0;
	int tp=0;
	for(int i=1;i<=n;i++)
	{
		string s;
		cin>>s;
		if(s=="add")
		{
			x+=sum*st.back();
		}
		else if(s=="for")
		{
			int k;
			cin>>k;
			st.push_back(min(maxx,k*st.back()));
			//这里刚好是,再哪一层能够乘以相应层数	
		}
		else st.pop_back();
	}
	if(x>=maxx) cout<<"OVERFLOW!!!"<<endl;
	else cout<<x<<endl;
}
signed main()
{
	int T;
	T=1;
//	cin>>T;	
	while(T--)
	{
		solve();
	} 
	return 0;
}


Comments

Submit
0 Comments
More Questions

1213A - Chips Moving
490A - Team Olympiad
233A - Perfect Permutation
1360A - Minimal Square
467A - George and Accommodation
893C - Rumor
227B - Effective Approach
1534B - Histogram Ugliness
1611B - Team Composition Programmers and Mathematicians
110A - Nearly Lucky Number
1220B - Multiplication Table
1644A - Doors and Keys
1644B - Anti-Fibonacci Permutation
1610A - Anti Light's Cell Guessing
349B - Color the Fence
144A - Arrival of the General
1106A - Lunar New Year and Cross Counting
58A - Chat room
230A - Dragons
200B - Drinks
13A - Numbers
129A - Cookies
1367B - Even Array
136A - Presents
1450A - Avoid Trygub
327A - Flipping Game
411A - Password Check
1520C - Not Adjacent Matrix
1538B - Friends and Candies
580A - Kefa and First Steps